<?php
	// Incluyo librería para manejo de DB
	include_once('scripts/db.class.php');

	// Cargo librería necesaria
	if(!extension_loaded("soap")) {
		dl("php_soap.dll");
	}
	ini_set("soap.wsdl_cache_enabled","0");

	$server = new SoapServer("webservice.xml");

	function login($username,$password) {
		$db = new db();
		$db->connect();

		$sql = "
		 		SELECT id, password FROM usuarios
		 			WHERE username = '$username'
		 			LIMIT 1
    	";

	    $result = $db->query($sql);

	    // (int)
	    if (is_array($result)  &&  count($result) > 0  &&  $result[0]['password'] == $password)
	    	return (int)$result[0]['id'];
	    else
	        return 0; 
	}

	function getNombre($usuario_id) {
		$db = new db();
		$db->connect();

		$sql = "
		 		SELECT nombre FROM usuarios
		 			WHERE id = '$usuario_id'
		 			LIMIT 1
    	";

	    $result = $db->query($sql);

	    // (string)
	    if (is_array($result)  &&  count($result) > 0 ) {
	    	$nombre = iconv('windows-1252', 'UTF-8', $result[0]['nombre']);
	    	return $nombre;
	    }
	    else
	        return 0; 
	}

	function addActivity($usuario_id, $titulo, $detalle, $fecha) {
		$db = new db();
		$db->connect();

		$time = time();
		
		$sql = "
		 		INSERT INTO actividades(titulo, detalle, fecha, usuario_id, version)
            		VALUES ('$titulo', '$detalle', '$fecha', $usuario_id, $time)
    	";
    	
    	// (int) id
    	return $db->insert($sql);
	}


	function deleteActivity($actividad_id) {
		$db = new db();
		$db->connect();
		
		$sql = "
		 		DELETE FROM actividades WHERE id = $actividad_id
    	";

    	// (int) 0=false 1=true
    	return $db->delete($sql);
	}


	function updateActivity($actividad_id, $titulo, $detalle, $fecha) {
		$db = new db();
		$db->connect();

		$time = time();

		$sql = "
		 		UPDATE actividades
		 				SET titulo  = '$titulo',
		 					detalle = '$detalle',
		 					fecha 	= '$fecha',
		 					version = $time
		 				WHERE id 	= $actividad_id
    	";

    	// (int) 0=false 1=true
    	return $db->update($sql);
	}


	function listActivities($usuario_id){
	    $db = new db();
	    $db->connect();
	    
	    $sql = "
	        SELECT id, titulo, detalle, fecha, version
	        	FROM actividades WHERE usuario_id = '$usuario_id'
	    ";
	    
	    $rs = $db->query($sql);
	    

	    // (string)
	    if (is_array($rs) && count($rs) > 0) 
	        return '{actividades:' . json_encode($rs) . '}'; 
	    else
	        return ''; 
	}


	$server->AddFunction("login");
	$server->AddFunction("getNombre");
	$server->AddFunction("addActivity");
	$server->AddFunction("deleteActivity");
	$server->AddFunction("updateActivity");
	$server->AddFunction("listActivities");
	$server->handle();